SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE  PROCEDURE [dbo].[UL_TCMOVI_BANC_Q15_EJ_JL]                                                
/*-------------------------------------------------------*/                                                
/*---Empresa               OFISIS S.A.                --*/                                                
/*---Cliente               ULMA                     --*/                                                
/*---Sistema               Tesoreria                  --*/                                                
/*---M¢dulo                Empresa                    --*/                                                
/*---Programa              FLUJO DE CAJA SEMANAL EJECUTADO(REPORTE)      --*/                                                
/*---Script                SP_TCMOVI_BANC_Q03.sql     --*/                                                
/*---Nombre SP             SP_TCMOVI_BANC_Q03         --*/                                                
/*---Desarrollado por      Maribel Julca Rodriguez      --*/                                                
/*---Fecha Creaci¢n        06/02/2007                 --*/                                                
/*---Base Datos            SQL SERVER        --*/                                                
/*---Versi¢n               2000                       --*/                                                
/*---Invoca a SP                                      --*/                                                
/*-------------------------------------------------------*/                                                
                                                
/*-------------------------------------------------------*/                                                
/*---Modificado 1 por           --*/                                                
/*---Fecha Modificaci¢n         --*/                                                 
/*---Detalle Modificaci¢n       --*/                                                
/*-------------------------------------------------------*/                                                
                                                
/*-------------------------------------------------------*/                                                
/*---Drop Proc SP_TCMOVI_BANC_Q03                      --*/                                                
/*---Grant all on SP_TCMOVI_BANC_Q03 to public         --*/                                                 
/*---SP_TCMOVI_BANC_Q03 '01', 'DOL', 10, 2001, 11, 2001  --*/                                                
/*-------------------------------------------------------*/                                                
                                                
--EXEC UL_TCMOVI_BANC_Q15_EJ '01', 'WHERE 1 = 1', '', 'M', 'DOL', '2007/01/01', '2007/03/31'                                    
@ISCO_EMPR Varchar(2),                                              
@ISCA_WHER_0001 Varchar(256),                                                
@ISCA_WHER_0002 Varchar(256),                                           
@ISTI_PRES TD_VC_001,                                               
@ISCO_MONE TD_VC_003,                                                
@IDFE_OPER_INIC TD_DT_001,                                                
@IDFE_OPER_FINA TD_DT_001                                      
/*,                                                
@INNU_MESE_FINA TD_IN_001,                                                
@INNU_ANIO_FINA TD_IN_001  */                                              
As                                                
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q15_EJ_1                                                
 ( CO_EMPR      varchar(3) NULL,                                                
   CO_ARUB varchar(3) NULL ,                                                
   CO_RUBR varchar(3) NULL ,                                                
   CO_SUBR varchar(3) NULL ,     
   IM_SE01 numeric(16,4) DEFAULT 0,                                                
   IM_SE02 numeric(16,4) DEFAULT 0,                                                
   IM_SE03 numeric(16,4) DEFAULT 0,                                                
   IM_SE04 numeric(16,4) DEFAULT 0,                                                
   IM_SE05 numeric(16,4) DEFAULT 0,                            
   IM_SE06 numeric(16,4) DEFAULT 0,                                                
   IM_SE07 numeric(16,4) DEFAULT 0,                                                
   IM_SE08 numeric(16,4) DEFAULT 0,                                             
   IM_SE09 numeric(16,4) DEFAULT 0,                                                
   IM_SE10 numeric(16,4) DEFAULT 0,                               
   IM_SE11 numeric(16,4) DEFAULT 0,                                                
 IM_SE12 numeric(16,4) DEFAULT 0,                                                
   IM_SE13 numeric(16,4) DEFAULT 0,                                   
   IM_SE14 numeric(16,4) DEFAULT 0,                                                
   IM_SE15 numeric(16,4) DEFAULT 0,                                        
  IM_SE16 numeric(16,4) DEFAULT 0,                                                
   IM_SE17 numeric(16,4) DEFAULT 0,                                              
   IM_SE18 numeric(16,4) DEFAULT 0,                                                   
   IM_SE19 numeric(16,4) DEFAULT 0,                                             
   IM_SE20 numeric(16,4) DEFAULT 0,                              
    IM_SE21 numeric(16,4) DEFAULT 0,                                                  
   IM_SE22 numeric(16,4) DEFAULT 0,                                                  
   IM_SE23 numeric(16,4) DEFAULT 0,                                                  
   IM_SE24 numeric(16,4) DEFAULT 0,                                                  
   IM_SE25 numeric(16,4) DEFAULT 0,                                                  
   IM_SE26 numeric(16,4) DEFAULT 0,                                                  
   IM_SE27 numeric(16,4) DEFAULT 0,                                                  
   IM_SE28 numeric(16,4) DEFAULT 0,                                                  
   IM_SE29 numeric(16,4) DEFAULT 0,                                                  
   IM_SE30 numeric(16,4) DEFAULT 0,                                 
   IM_SE31 numeric(16,4) DEFAULT 0,                                                  
   IM_SE32 numeric(16,4) DEFAULT 0,                                                  
   IM_SE33 numeric(16,4) DEFAULT 0,                                                  
   IM_SE34 numeric(16,4) DEFAULT 0,                                                  
   IM_SE35 numeric(16,4) DEFAULT 0,                                                  
   IM_SE36 numeric(16,4) DEFAULT 0,                                                  
   IM_SE37 numeric(16,4) DEFAULT 0,                                                  
   IM_SE38 numeric(16,4) DEFAULT 0,                                                     
   IM_SE39 numeric(16,4) DEFAULT 0,                                                  
   IM_SE40 numeric(16,4) DEFAULT 0,                              
   IM_SE41 numeric(16,4) DEFAULT 0,                                                  
   IM_SE42 numeric(16,4) DEFAULT 0,                                                  
   IM_SE43 numeric(16,4) DEFAULT 0,                                                  
   IM_SE44 numeric(16,4) DEFAULT 0,                                                  
   IM_SE45 numeric(16,4) DEFAULT 0,                                                  
   IM_SE46 numeric(16,4) DEFAULT 0,                                                  
   IM_SE47 numeric(16,4) DEFAULT 0,                                                  
   IM_SE48 numeric(16,4) DEFAULT 0,                                                  
   IM_SE49 numeric(16,4) DEFAULT 0,             
   IM_SE50 numeric(16,4) DEFAULT 0,                                 
   IM_SE51 numeric(16,4) DEFAULT 0,                                                  
   IM_SE52 numeric(16,4) DEFAULT 0,                                                     
   NU_MESE varchar(2),                                              
   CO_BANC varchar(3) NULL , 
   NU_CNTA_BANC varchar(20) NULL ,                                                
   DE_CNTA_BANC varchar(100) NULL ,                                                
   TI_DETA_EMPR  varchar(1) NULL ,                                     
   TI_DETA_BANC  varchar(1) NULL,                                   
CO_SUBR_CALC varchar(3) NULL,                                            
ST_CALC_IMPO varchar(1) NULL ,                                            
TI_CALC_IMPO varchar(1) NULL,                            
IM_SALD_INIC numeric(16,4) DEFAULT 0 )                                                
                                           
                           
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_DUA                                               
 ( CO_EMPR      varchar(3) NULL,                                                
   CO_ARUB varchar(3) NULL ,                    
   CO_RUBR varchar(3) NULL ,                                                
   CO_SUBR varchar(3) NULL ,                                                
   IM_SE01 numeric(16,4) DEFAULT 0,                                                
   IM_SE02 numeric(16,4) DEFAULT 0,                                                
   IM_SE03 numeric(16,4) DEFAULT 0,                                                
   IM_SE04 numeric(16,4) DEFAULT 0,                                                
   IM_SE05 numeric(16,4) DEFAULT 0,                           
   IM_SE06 numeric(16,4) DEFAULT 0,                                                
   IM_SE07 numeric(16,4) DEFAULT 0,                                                
   IM_SE08 numeric(16,4) DEFAULT 0,                                                
   IM_SE09 numeric(16,4) DEFAULT 0,                                                
   IM_SE10 numeric(16,4) DEFAULT 0,                                                
   IM_SE11 numeric(16,4) DEFAULT 0,                                                
   IM_SE12 numeric(16,4) DEFAULT 0,                              
   IM_SE13 numeric(16,4) DEFAULT 0,                                                
   IM_SE14 numeric(16,4) DEFAULT 0,                                                
   IM_SE15 numeric(16,4) DEFAULT 0,                                                
   IM_SE16 numeric(16,4) DEFAULT 0,                                                
   IM_SE17 numeric(16,4) DEFAULT 0,                                                
   IM_SE18 numeric(16,4) DEFAULT 0,                                                   
   IM_SE19 numeric(16,4) DEFAULT 0,                                                
   IM_SE20 numeric(16,4) DEFAULT 0,                             
 IM_SE21 numeric(16,4) DEFAULT 0,                                                  
   IM_SE22 numeric(16,4) DEFAULT 0,                                                  
   IM_SE23 numeric(16,4) DEFAULT 0,                                                  
   IM_SE24 numeric(16,4) DEFAULT 0,                                                  
   IM_SE25 numeric(16,4) DEFAULT 0,                                                  
   IM_SE26 numeric(16,4) DEFAULT 0,                                          
   IM_SE27 numeric(16,4) DEFAULT 0,                                                  
   IM_SE28 numeric(16,4) DEFAULT 0,                                                  
   IM_SE29 numeric(16,4) DEFAULT 0,                                                  
   IM_SE30 numeric(16,4) DEFAULT 0,                                 
   IM_SE31 numeric(16,4) DEFAULT 0,                                                  
   IM_SE32 numeric(16,4) DEFAULT 0,                     
   IM_SE33 numeric(16,4) DEFAULT 0,                                                  
   IM_SE34 numeric(16,4) DEFAULT 0,                                                  
   IM_SE35 numeric(16,4) DEFAULT 0,                                                  
   IM_SE36 numeric(16,4) DEFAULT 0,                                                  
   IM_SE37 numeric(16,4) DEFAULT 0,                                                  
   IM_SE38 numeric(16,4) DEFAULT 0,                                                     
   IM_SE39 numeric(16,4) DEFAULT 0,               
   IM_SE40 numeric(16,4) DEFAULT 0,                              
   IM_SE41 numeric(16,4) DEFAULT 0,                                                  
   IM_SE42 numeric(16,4) DEFAULT 0,                                                  
   IM_SE43 numeric(16,4) DEFAULT 0,                
   IM_SE44 numeric(16,4) DEFAULT 0,                                                  
   IM_SE45 numeric(16,4) DEFAULT 0,                                                  
   IM_SE46 numeric(16,4) DEFAULT 0,                                                  
   IM_SE47 numeric(16,4) DEFAULT 0,                                
   IM_SE48 numeric(16,4) DEFAULT 0,                                                  
   IM_SE49 numeric(16,4) DEFAULT 0,                                                  
   IM_SE50 numeric(16,4) DEFAULT 0,                                 
   IM_SE51 numeric(16,4) DEFAULT 0,                              
   IM_SE52 numeric(16,4) DEFAULT 0,                                                      
   NU_MESE varchar(2),                                              
   CO_BANC varchar(3) NULL ,                                                
   NU_CNTA_BANC varchar(20) NULL ,                                                
   DE_CNTA_BANC varchar(100) NULL ,                                                
   TI_DETA_EMPR  varchar(1) NULL ,                                              
   TI_DETA_BANC  varchar(1) NULL,                                            
   CO_SUBR_CALC varchar(3) NULL,                                            
ST_CALC_IMPO varchar(1) NULL ,                                            
TI_CALC_IMPO varchar(1) NULL )                              
                                            
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_DUA2                                               
 ( CO_EMPR      varchar(3) NULL,                                                
   CO_ARUB varchar(3) NULL ,                                                
   CO_RUBR varchar(3) NULL ,                                                
   CO_SUBR varchar(3) NULL ,                                         
   IM_SE01 numeric(16,4) DEFAULT 0,                                                
   IM_SE02 numeric(16,4) DEFAULT 0,                                                
   IM_SE03 numeric(16,4) DEFAULT 0,                                                
   IM_SE04 numeric(16,4) DEFAULT 0,                                                
   IM_SE05 numeric(16,4) DEFAULT 0,                                                
   IM_SE06 numeric(16,4) DEFAULT 0,                                                
   IM_SE07 numeric(16,4) DEFAULT 0,                                                
   IM_SE08 numeric(16,4) DEFAULT 0,                                                
   IM_SE09 numeric(16,4) DEFAULT 0,                                                
   IM_SE10 numeric(16,4) DEFAULT 0,                                                
   IM_SE11 numeric(16,4) DEFAULT 0,                               
   IM_SE12 numeric(16,4) DEFAULT 0,                             
   IM_SE13 numeric(16,4) DEFAULT 0,                                                
   IM_SE14 numeric(16,4) DEFAULT 0,                                                
   IM_SE15 numeric(16,4) DEFAULT 0,                                                
   IM_SE16 numeric(16,4) DEFAULT 0,                                                
   IM_SE17 numeric(16,4) DEFAULT 0,                                                
   IM_SE18 numeric(16,4) DEFAULT 0,                                                   
   IM_SE19 numeric(16,4) DEFAULT 0,                                                
   IM_SE20 numeric(16,4) DEFAULT 0,                              
 IM_SE21 numeric(16,4) DEFAULT 0,                                                  
   IM_SE22 numeric(16,4) DEFAULT 0,                                                  
   IM_SE23 numeric(16,4) DEFAULT 0,                                                  
   IM_SE24 numeric(16,4) DEFAULT 0,                                                  
   IM_SE25 numeric(16,4) DEFAULT 0,                                                  
   IM_SE26 numeric(16,4) DEFAULT 0,                                     
   IM_SE27 numeric(16,4) DEFAULT 0,                                                  
   IM_SE28 numeric(16,4) DEFAULT 0,                                                  
   IM_SE29 numeric(16,4) DEFAULT 0,                                                  
   IM_SE30 numeric(16,4) DEFAULT 0,                                 
   IM_SE31 numeric(16,4) DEFAULT 0,                                                
   IM_SE32 numeric(16,4) DEFAULT 0,                                                  
   IM_SE33 numeric(16,4) DEFAULT 0,                                                  
   IM_SE34 numeric(16,4) DEFAULT 0,                                                  
   IM_SE35 numeric(16,4) DEFAULT 0,                                                  
   IM_SE36 numeric(16,4) DEFAULT 0,                                                  
   IM_SE37 numeric(16,4) DEFAULT 0,                                                  
   IM_SE38 numeric(16,4) DEFAULT 0,                                                     
   IM_SE39 numeric(16,4) DEFAULT 0,                                                  
   IM_SE40 numeric(16,4) DEFAULT 0,                              
   IM_SE41 numeric(16,4) DEFAULT 0,                                                  
   IM_SE42 numeric(16,4) DEFAULT 0,                                                  
   IM_SE43 numeric(16,4) DEFAULT 0,                                                  
   IM_SE44 numeric(16,4) DEFAULT 0,                                                  
   IM_SE45 numeric(16,4) DEFAULT 0,                                                  
   IM_SE46 numeric(16,4) DEFAULT 0,                                                  
   IM_SE47 numeric(16,4) DEFAULT 0,                       
   IM_SE48 numeric(16,4) DEFAULT 0,                                                  
   IM_SE49 numeric(16,4) DEFAULT 0,                                                  
   IM_SE50 numeric(16,4) DEFAULT 0,                                 
   IM_SE51 numeric(16,4) DEFAULT 0,                                                  
   IM_SE52 numeric(16,4) DEFAULT 0,                                                      
   NU_MESE varchar(2),                                              
   CO_BANC varchar(3) NULL ,                                             
   NU_CNTA_BANC varchar(20) NULL ,                                                
   DE_CNTA_BANC varchar(100) NULL ,                                                
   TI_DETA_EMPR  varchar(1) NULL ,                                              
   TI_DETA_BANC  varchar(1) NULL,                                            
   CO_SUBR_CALC varchar(3) NULL,                                            
ST_CALC_IMPO varchar(1) NULL ,                                            
TI_CALC_IMPO varchar(1) NULL )                                       
                                              
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_4                                               
 ( CO_EMPR      varchar(3) NULL,                                                
   DE_EMPR      varchar(100) NULL,                                                
   CO_ARUB varchar(3) NULL ,                                                
   DE_ARUB  varchar(100) NULL,                                               
   CO_RUBR varchar(3) NULL ,                                                
   DE_RUBR      varchar(100) NULL,                             
   CO_SUBR varchar(3) NULL ,                                                
   DE_SUBR      varchar(100) NULL,                                               
   IM_SE01 numeric(16,4) DEFAULT 0,                                                
   IM_SE02 numeric(16,4) DEFAULT 0,                           
   IM_SE03 numeric(16,4) DEFAULT 0,                                                
   IM_SE04 numeric(16,4) DEFAULT 0,                                                
   IM_SE05 numeric(16,4) DEFAULT 0,                                                
   IM_SE06 numeric(16,4) DEFAULT 0,                          
   IM_SE07 numeric(16,4) DEFAULT 0,                                                
   IM_SE08 numeric(16,4) DEFAULT 0,                         
   IM_SE09 numeric(16,4) DEFAULT 0,                                                
   IM_SE10 numeric(16,4) DEFAULT 0,                                                
   IM_SE11 numeric(16,4) DEFAULT 0,                                                
   IM_SE12 numeric(16,4) DEFAULT 0,                               
   IM_SE13 numeric(16,4) DEFAULT 0,                                                
   IM_SE14 numeric(16,4) DEFAULT 0,                                                
   IM_SE15 numeric(16,4) DEFAULT 0,                                                
   IM_SE16 numeric(16,4) DEFAULT 0,                                                
   IM_SE17 numeric(16,4) DEFAULT 0,                                                
   IM_SE18 numeric(16,4) DEFAULT 0,                                                   
   IM_SE19 numeric(16,4) DEFAULT 0,                                                
   IM_SE20 numeric(16,4) DEFAULT 0,                               
 IM_SE21 numeric(16,4) DEFAULT 0,                    
   IM_SE22 numeric(16,4) DEFAULT 0,                                                  
   IM_SE23 numeric(16,4) DEFAULT 0,                                                  
   IM_SE24 numeric(16,4) DEFAULT 0,                                                  
   IM_SE25 numeric(16,4) DEFAULT 0,                                                  
   IM_SE26 numeric(16,4) DEFAULT 0,                                                  
   IM_SE27 numeric(16,4) DEFAULT 0,                                                  
   IM_SE28 numeric(16,4) DEFAULT 0,                    
   IM_SE29 numeric(16,4) DEFAULT 0,                                                  
   IM_SE30 numeric(16,4) DEFAULT 0,                                 
   IM_SE31 numeric(16,4) DEFAULT 0,                                                  
   IM_SE32 numeric(16,4) DEFAULT 0,                                                  
   IM_SE33 numeric(16,4) DEFAULT 0,                                 
   IM_SE34 numeric(16,4) DEFAULT 0,                                                  
   IM_SE35 numeric(16,4) DEFAULT 0,                                                  
   IM_SE36 numeric(16,4) DEFAULT 0,                                                  
   IM_SE37 numeric(16,4) DEFAULT 0,                                                  
   IM_SE38 numeric(16,4) DEFAULT 0,                                                     
   IM_SE39 numeric(16,4) DEFAULT 0,                                                  
   IM_SE40 numeric(16,4) DEFAULT 0,                              
   IM_SE41 numeric(16,4) DEFAULT 0,                                                  
   IM_SE42 numeric(16,4) DEFAULT 0,                                                  
   IM_SE43 numeric(16,4) DEFAULT 0,                                                  
   IM_SE44 numeric(16,4) DEFAULT 0,                                                  
   IM_SE45 numeric(16,4) DEFAULT 0,                                                  
   IM_SE46 numeric(16,4) DEFAULT 0,                       
   IM_SE47 numeric(16,4) DEFAULT 0,                                                  
   IM_SE48 numeric(16,4) DEFAULT 0,                                                  
   IM_SE49 numeric(16,4) DEFAULT 0,                                                  
   IM_SE50 numeric(16,4) DEFAULT 0,                                 
   IM_SE51 numeric(16,4) DEFAULT 0,                                                  
   IM_SE52 numeric(16,4) DEFAULT 0,        
   IM_ACUM numeric(16,4) DEFAULT 0,                                             
   NU_MESE varchar(2) NULL,                                          
   CO_BANC varchar(3) NULL ,                                                
   NU_CNTA_BANC varchar(20) NULL ,                                                
   DE_CNTA_BANC varchar(100) NULL ,                                                
   TI_DETA_EMPR  varchar(1) NULL ,                                              
   TI_DETA_BANC  varchar(1) NULL,                                          
   NU_ORDE_ARUB INT NULL,                                          
   NU_ORDE_RUBR INT NULL,         
   NU_ORDE_SUBR INT NULL )                                                
                                                
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q03_2                                                
 ( ST_CALC_IMPO varchar(1) NULL ,                                            
   TI_CALC_IMPO varchar(1) NULL,                                            
   CO_SUBR_CALC varchar(3) NULL,                                            
   CO_EMPR      varchar(3) NULL,                                                
   CO_ARUB varchar(3) NULL ,                                                
   CO_RUBR varchar(3) NULL ,          
   CO_SUBR varchar(3) NULL ,                                                
   FE_OPER datetime NULL,                                                
   FA_TIPO_CAMB numeric(9,4) DEFAULT 0,                                                
   CO_MONE varchar(3) NULL ,                                       
   IM_MOVI numeric(16,4) DEFAULT 0,                                              
   CO_BANC varchar(3) NULL ,                                                
   NU_CNTA_BANC varchar(20) NULL ,                                                
   DE_CNTA_BANC varchar(100) NULL ,                                                
   IM_SALD_INIC numeric(16,4) DEFAULT 0,                                              
   TI_DETA_EMPR  varchar(1) NULL ,                                              
   TI_DETA_BANC  varchar(1) NULL)                                              
                                            
                                            
                                            
                                              
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q03_3                                               
 ( CO_EMPR      varchar(3) NULL,                                      
   CO_BANC varchar(3) NULL ,                                                
   NU_CNTA_BANC varchar(20) NULL ,                  
   DE_CNTA_BANC varchar(100) NULL ,                                                
   NU_MESE datetime NULL,                                                
   FA_TIPO_CAMB numeric(9,4) DEFAULT 0,                                                
   CO_MONE varchar(3) NULL ,                                                
   IM_SALD_INIC numeric(16,4) DEFAULT 0,                                              
   TI_DETA_EMPR  varchar(1) NULL ,                                              
   TI_DETA_BANC  varchar(1) NULL)                                                
                             
Create Table #TWSABA_REPO(                                 
    CO_EMPR CHAR(02) NULL,                                 
    CO_BANC VARCHAR(03) NULL,                                
    NU_CNTA_BANC VARCHAR(20) NULL,                             
    AA_BNCO VARCHAR(04) NULL,                                
    MM_BNCO VARCHAR(02) NULL,                                
    IM_SALD_INIC Numeric(16,4) NULL)                                 
                                
Create Table #TWSABA_REPO_AUXI(                                 
CO_EMPR VARCHAR(02) NULL,                                
CO_BANC VARCHAR(03) NULL,                                
NU_CNTA_BANC VARCHAR(20) NULL,                                
IM_SALD_INIC Numeric(16,4) NULL)            
      
      
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q03_4                                                
 ( CO_EMPR      varchar(3) NULL,                                                
    CO_ARUB varchar(3) NULL ,                                                
   DE_ARUB    varchar(100) NULL,                                               
   CO_RUBR varchar(3) NULL ,                                                
   DE_RUBR      varchar(100) NULL,                             
   CO_SUBR varchar(3) NULL ,                                                
   DE_SUBR      varchar(100) NULL,                                                                                                                                
   IM_ACUM numeric(16,4) DEFAULT 0,      
   TI_DETA_EMPR  varchar(1) NULL ,                                              
   TI_DETA_BANC  varchar(1) NULL,      
   ST_FLAG VARCHAR(1) NULL)                                              
                                           
DECLARE                                                
                                                
@VNNU_MESE  TD_IN_001,                                                
@VNNU_ANIO  TD_IN_001,                            
@VSNU_MESE  TD_VC_002,                                                
@VSNU_ANIO  VARCHAR(4),                                                
@VNNU_CONT_SEMA TD_IN_001,                                                
@VSDE_SELE VARCHAR(6000),                                                
@VSCO_EMPR VARCHAR (50),                                
@VSDE_CAMP VARCHAR(7) ,                                            
@VSCO_MONE_NACI TD_VC_003,                                            
@VSCO_MONE_EXTR TD_VC_003,                                          
@VNNU_FACT  NUMERIC(16,4),                                    
@VNNU_SEMA_ACTU TD_IN_001,                                     
@VSFE_OPER_INIC TD_VC_020,                                      
@VSFE_OPER_FINA TD_VC_020,                                      
@VSFE_INIC_SEMA TD_VC_020,                                      
@VSFE_FINA_SEMA TD_VC_020,                                    
@VNNU_SEMA_INIC TD_IN_001,                                      
@VNNU_SEMA_FINA TD_IN_001,                            
@VDFE_FINA_SEMA TD_DT_001,                            
@VNIM_SALD_FLUJ  numeric(16,4),                            
@VNNU_SEMA_NUEV   TD_IN_001,                            
@VDFE_INIC_NUEV   TD_DT_001,                            
@VSDE_CAMP_0001 VARCHAR(10) ,                                
@VSDE_CAMP_0002 VARCHAR(10) ,                                
@VSDE_CAMP_0003 VARCHAR(10) ,                
@VSDE_CAMP_0004 VARCHAR(10) ,                                
@VSDE_CAMP_0005 VARCHAR(10) ,                                
@VSDE_CAMP_0006 VARCHAR(10) ,                                
@VSDE_CAMP_0007 VARCHAR(10) ,                                
@VSDE_CAMP_0008 VARCHAR(10) ,                                
@VSDE_CAMP_0009 VARCHAR(10) ,                                
@VSDE_CAMP_0010 VARCHAR(10) ,                                
@VSDE_CAMP_0011 VARCHAR(10) ,              
@VSDE_CAMP_0012 VARCHAR(10) ,                                
@VSDE_CAMP_0013 VARCHAR(10) ,                                
@VSDE_CAMP_0014 VARCHAR(10) ,                                
@VSDE_CAMP_0015 VARCHAR(10) ,                                
@VSDE_CAMP_0016 VARCHAR(10) ,                                
@VSDE_CAMP_0017 VARCHAR(10) ,                                
@VSDE_CAMP_0018 VARCHAR(10) ,                                
@VSDE_CAMP_0019 VARCHAR(10) ,                          
@VSDE_CAMP_0020 VARCHAR(10) ,                          
@VNFA_CAMB_MENS  TD_NU_015_006,                
@VNNU_CONT_REPO  TD_IN_001,                
@VNNU_COLU_VARI  TD_IN_001 ,      
@VDFE_FINA_ANNO TD_DT_001                                         
                                                
                                          
-- PRESENTACION EN UNIDADES O MILES                                            
IF @ISTI_PRES = 'U'                                            
 SELECT @VNNU_FACT = 1                                            
IF @ISTI_PRES = 'M'                                            
 SELECT @VNNU_FACT = 0.001                                            
                                            
Select @VSCO_MONE_NACI = CO_MONE_DEFA, @VSCO_MONE_EXTR = CO_MONE_EXTR                                 
From TMPARA_TESO                                                    
Where CO_EMPR = @ISCO_EMPR                                                    
                                    
SELECT @VSFE_OPER_INIC = CONVERT(VARCHAR(10), @IDFE_OPER_INIC, 103)                                     
SELECT @VSFE_OPER_FINA = CONVERT(VARCHAR(10), @IDFE_OPER_FINA, 103)                                     
SELECT @VNNU_ANIO = YEAR(@IDFE_OPER_INIC)                                    
                                    
                                    
                                                
SELECT @VNNU_SEMA_INIC = NU_SEMA                                    
FROM TTSEMA_FLUJ                                    
WHERE CO_EMPR = @ISCO_EMPR                                    
AND NU_ANIO = YEAR(@IDFE_OPER_INIC)                                    
AND FE_INIC_SEMA < = Convert(Datetime, @VSFE_OPER_INIC, 103)                                      
AND FE_FINA_SEMA > = Convert(Datetime, @VSFE_OPER_INIC, 103)                                     
                                    
                                    
                                    
--SELECT *FROM TTSEMA_FLUJ                                    
                                    
SELECT @VNNU_SEMA_FINA = NU_SEMA                                    
FROM TTSEMA_FLUJ                                    
WHERE CO_EMPR = @ISCO_EMPR                                    
AND NU_ANIO = YEAR(@IDFE_OPER_FINA)                                    
AND FE_INIC_SEMA < = Convert(Datetime, @VSFE_OPER_FINA, 103)                                      
AND FE_FINA_SEMA > = Convert(Datetime, @VSFE_OPER_FINA, 103)                                     
                                     
                                               
----   SETEO FECHA INICIAL Y FECHA FINAL INGRESADA ---------                                                
-- @VNNU_MESE = @INNU_MESE_INIC, @VNNU_ANIO = @INNU_ANIO_INIC,                                     
SELECT  @VNNU_CONT_SEMA = 1 , @VNNU_SEMA_ACTU = @VNNU_SEMA_INIC                                               
                                    
                                    
--  <= Convert(Datetime, '" + @VSFE_CANC + "', 103)                                     
                                    
                                                
/* FORMO EL NOMBRE DEL CAMPO (IM_SE01) QUE CORRESPONDERA AL IMPORTE DEL MES 1,                                                
 EN EL LOOP SE FORMARA EN LA CADENA @VSDE_CAMP EL NOMBRE DEL CAMPO DE LOS                                               
 PERIODOS DEL 2 (IM_SE02) AL 12 (IM_SE12)*/                                                
SELECT @VSDE_CAMP = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_SEMA))))) + RTRIM(LTRIM(STR(@VNNU_CONT_SEMA)))                                                
                                                
                                                
                                                
--- LOOP PARA LLENAR LA TABLA TEMPORAL MES POR MES, DESDE EL MES 1 AL MES 12 -------------------                                                
WHILE (@VNNU_CONT_SEMA <= ((@VNNU_SEMA_FINA - @VNNU_SEMA_INIC) + 1)   AND   @VNNU_CONT_SEMA <= 52)                                            
BEGIN                                                
                                     
SELECT @VSFE_INIC_SEMA = Convert(Datetime, FE_INIC_SEMA, 103), @VSFE_FINA_SEMA = Convert(Datetime, FE_FINA_SEMA, 103),                            
@VSNU_ANIO = YEAR(FE_INIC_SEMA), @VSNU_MESE = REPLICATE('0', 2-LEN(RTRIM(LTRIM(MONTH(FE_INIC_SEMA))))) + RTRIM(LTRIM(MONTH(FE_INIC_SEMA)))                                    
FROM TTSEMA_FLUJ                                    
WHERE CO_EMPR = @ISCO_EMPR                                    
AND NU_ANIO = @VNNU_ANIO                                    
AND NU_SEMA = @VNNU_SEMA_ACTU                                      
                        
SELECT @VNFA_CAMB_MENS = FA_CAMB_CMPR                          
FROM TCFACT_PRME                          
WHERE CO_MONE = @VSCO_MONE_EXTR                                         
AND NU_ANNO = Convert(int, @VSNU_ANIO)                              
AND NU_MESE = Convert(int, @VSNU_MESE)                           
                      
                      
IF ISNULL(@VNFA_CAMB_MENS,0) = 0                      
BEGIN                      
                      
select @VNFA_CAMB_MENS = (select TOP 1 FA_CAMB_CMPR                            
FROM TCFACT_PRME                            
WHERE CO_MONE = @VSCO_MONE_EXTR                                
AND ((NU_ANNO = Convert(int, @VSNU_ANIO) AND NU_MESE <= Convert(int, @VSNU_MESE) ) OR (NU_ANNO < Convert(int, @VSNU_ANIO)))                                  
ORDER BY NU_ANNO DESC, NU_MESE DESC)                      
                      
END                        
                                    
--SELECT  @VSNU_MESE = CONVERT(CHAR(2), @VNNU_MESE),                                                
-- @VSNU_ANIO = CONVERT(CHAR(4), @VNNU_ANIO)                                                
                                                 
 ---- INSERTO LOS DATA MES POR MES, DESDE EL MES INICIAL ----------                                                
  EXECUTE('                                                
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q03_2                                                
  (ST_CALC_IMPO, TI_CALC_IMPO, CO_SUBR_CALC, CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR, FE_OPER, FA_TIPO_CAMB, CO_MONE, IM_MOVI, TI_DETA_EMPR, TI_DETA_BANC)                                                
  SELECT TTSUBR_FINA.ST_CALC_IMPO, TTSUBR_FINA.TI_CALC_IMPO, TTSUBR_FINA.CO_SUBR_CALC, T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,                                                 
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T5.CO_MONE, "' + @ISCO_MONE + '", T1.FE_OPER,                                                
  T1.IM_MOVI * ( PATINDEX(T1.TI_MOVI_BANC, "I") - PATINDEX(T1.TI_MOVI_BANC, "E")),                                                 
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T1.FA_TIPO_CAMB))), 2) ,"1","2"                                               
  FROM TCMOVI_BANC T1, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCNTA_BANC T5, TMEMPR, TMPARA_TESO T6                                                
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                                                
  AND T1.FE_OPER >= Convert(Datetime, "' + @VSFE_INIC_SEMA + '", 103)                                                
  AND T1.FE_OPER <= Convert(Datetime, "' + @VSFE_FINA_SEMA + '", 103)                                                  
  AND T1.TI_SITU IN ("ACT", "EXT")                                                
  AND TTSUBR_FINA.ST_REPO = "S"                                              
  AND (ISNULL(TTSUBR_FINA.ST_CALC_IMPO, "N") = "N"                                               
 OR (ISNULL(TTSUBR_FINA.ST_CALC_IMPO, "N") = "S" AND ISNULL(TTSUBR_FINA.TI_CALC_IMPO, "0") = "1") )                                            
  AND  T1.CO_EMPR = T5.CO_EMPR                                                
  AND  T1.CO_BANC = T5.CO_BANC                                                
  AND  T1.NU_CNTA_BANC = T5.NU_CNTA_BANC                                               
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                                                
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                                                
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                                
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                                
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                                
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                        
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                                                
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                                                
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                                     
  UNION ALL                                                
  SELECT TTSUBR_FINA.ST_CALC_IMPO, TTSUBR_FINA.TI_CALC_IMPO, TTSUBR_FINA.CO_SUBR_CALC, T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,                                                
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T5.CO_MONE, "' + @ISCO_MONE + '", T1.FE_OPER,                                                
  T1.IM_MOVI * ( PATINDEX(T1.TI_MOVI, "I") - PATINDEX(T1.TI_MOVI, "E")),                                                 
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T1.FA_TIPO_CAMB))), 2), "1", "2"                                                
  FROM TCMOVI_CAJA T1, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCAJA T5, TMEMPR, TMPARA_TESO T6                                   
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '            
  AND T1.FE_OPER >= Convert(Datetime, "' + @VSFE_INIC_SEMA + '", 103)                                                
  AND T1.FE_OPER <= Convert(Datetime, "' + @VSFE_FINA_SEMA + '", 103)                                               
  AND T1.TI_SITU IN ("ACT", "EXT")                                               
  AND TTSUBR_FINA.ST_REPO = "S"                                                
 AND (ISNULL(TTSUBR_FINA.ST_CALC_IMPO, "N") = "N"                                               
 OR (ISNULL(TTSUBR_FINA.ST_CALC_IMPO, "N") = "S" AND ISNULL(TTSUBR_FINA.TI_CALC_IMPO, "0") = "1") )                                            
  AND  T1.CO_EMPR = T5.CO_EMPR                                                
  AND  T1.CO_CAJA = T5.CO_CAJA                                                
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                                                
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                                                
AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                                
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                                
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                                
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                                
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                                                
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                                                
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                                                
                                             
 ORDER BY T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR')                                                
                                            
                                            
-- CASO DE DUAS DESCONTANDO ARANCELES DE IGV - HALLANDO EL IGV                                            
                
  EXECUTE('                              
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q03_2                                                
  (ST_CALC_IMPO, TI_CALC_IMPO, CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR, FE_OPER, FA_TIPO_CAMB, CO_MONE, IM_MOVI, TI_DETA_EMPR, TI_DETA_BANC)                                                
  SELECT "S","2", T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR_CALC, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,                                                 
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T3.CO_MONE,  "' + @ISCO_MONE + '", T3.FE_EMIS,                                                
  T3.IM_IMP1 * ( PATINDEX(T1.TI_MOVI_BANC, "I") - PATINDEX(T1.TI_MOVI_BANC, "E")),                                                 
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T3.FA_TIPO_CAMB))), 2) ,"1","2"                                
  FROM TCMOVI_BANC T1, TDMOVI_BANC T2, TMDOCU_PROV T3, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCNTA_BANC T5, TMEMPR, TMPARA_TESO T6                         
 ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                              
  AND T1.FE_OPER >= Convert(Datetime, "' + @VSFE_INIC_SEMA + '", 103)                                                
  AND T1.FE_OPER <= Convert(Datetime, "' + @VSFE_FINA_SEMA + '", 103)                                             
AND T1.CO_EMPR = T2.CO_EMPR                                            
AND T1.CO_BANC = T2.CO_BANC                                          
AND T1.NU_CNTA_BANC = T2.NU_CNTA_BANC                                            
AND T1.AA_BNCO = T2.AA_BNCO                                            
AND T1.MM_BNCO = T2.MM_BNCO                                            
AND T1.NU_COMP_BANC = T2.NU_COMP_BANC                                            
AND T2.CO_EMPR = T3.CO_EMPR                                            
AND T2.CO_ENTI = T3.CO_PROV                                            
AND T2.TI_DOCU_ENTI = "55"                                            
AND T2.TI_DOCU_ENTI = T3.CO_TIPO_DOCU                                            
AND T2.NU_DOCU_ENTI = T3.NU_DOCU_PROV                                            
AND T2.ST_CIER_DOCU = "S"                                         
AND T1.TI_SITU IN ("ACT", "EXT")                                               
AND TTSUBR_FINA.ST_REPO = "S"                                              
AND ISNULL(TTSUBR_FINA.ST_CALC_IMPO, "N") = "S"                                             
AND (ISNULL(TTSUBR_FINA.TI_CALC_IMPO, "0") = "1")                                            
AND  T1.CO_EMPR = T5.CO_EMPR                                                
AND  T1.CO_BANC = T5.CO_BANC                                                
AND  T1.NU_CNTA_BANC = T5.NU_CNTA_BANC                                                
AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                                                
AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                                                
AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                                
AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                                
AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                                
AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                                
AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                                                
AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                                                
AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                                               
                                            
UNION ALL                                                
                                              
SELECT "S", "2", T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR_CALC, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,                                                
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T3.CO_MONE, "' + @ISCO_MONE + '", T3.FE_EMIS,                                                
  T3.IM_IMP1 * ( PATINDEX(T1.TI_MOVI, "I") - PATINDEX(T1.TI_MOVI, "E")),                                                 
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T3.FA_TIPO_CAMB))), 2), "1", "2"                                                
  FROM TCMOVI_CAJA T1, TDMOVI_CAJA T2, TMDOCU_PROV T3, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCAJA T5, TMEMPR, TMPARA_TESO T6                                                
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                                             
  AND T1.FE_OPER >= Convert(Datetime, "' + @VSFE_INIC_SEMA + '", 103)                                                
  AND T1.FE_OPER <= Convert(Datetime, "' + @VSFE_FINA_SEMA + '", 103)                                                
 AND T1.CO_EMPR = T2.CO_EMPR                                            
AND T1.CO_CAJA = T2.CO_CAJA                                            
AND T1.AA_CAJA = T2.AA_CAJA                                            
AND T1.MM_CAJA = T2.MM_CAJA                                          
AND T1.NU_COMP_CAJA = T2.NU_COMP_CAJA                                            
AND T2.CO_EMPR = T3.CO_EMPR                                            
AND T2.CO_ENTI = T3.CO_PROV                                            
AND T2.TI_DOCU_ENTI = "55"                        
AND T2.TI_DOCU_ENTI = T3.CO_TIPO_DOCU                                            
AND T2.NU_DOCU_ENTI = T3.NU_DOCU_PROV                                            
AND T2.ST_CIER_DOCU = "S"                                            
  AND T1.TI_SITU IN ("ACT", "EXT")                                                
  AND TTSUBR_FINA.ST_REPO = "S"                                              
  AND ISNULL(TTSUBR_FINA.ST_CALC_IMPO, "N") = "S"                                             
AND (ISNULL(TTSUBR_FINA.TI_CALC_IMPO, "0") = "1")                                            
  AND  T1.CO_EMPR = T5.CO_EMPR                                                
  AND  T1.CO_CAJA = T5.CO_CAJA                                                
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                                                
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                        
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                                
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                                
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                                
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                      
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                                                
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                                                
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                                                
  ORDER BY T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR_CALC')                                                
                                            
                                            
                                       
                                              
--SELECT 'PRUEBA1',  @ISCO_EMPR, @VSNU_ANIO, @VSNU_MESE                                              
SELECT @VDFE_FINA_SEMA = Convert(Datetime, @VSFE_FINA_SEMA,103)                            
                            
EXECUTE UL_TWSABA_FLUJ_Q01 @ISCO_EMPR, @ISCO_MONE, @VDFE_FINA_SEMA                                
                                            
INSERT INTO #TWFLUJ_CAJA_SEMA_Q03_3                                 
(CO_EMPR, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, CO_MONE, IM_SALD_INIC, TI_DETA_EMPR, TI_DETA_BANC)                                                
select T2.CO_EMPR, T2.CO_BANC, T2.NU_CNTA_BANC, T2.DE_CNTA_BANC, T2.CO_MONE,                                     
T4.IM_SALD_INIC, '1', '1'                        
 from  TTBANC_FINA T1, TMCNTA_BANC T2, #TWSABA_REPO T4                                      
 Where T2.CO_EMPR =   @ISCO_EMPR                                      
  and t1.co_banc = t2.co_banc                                    
  and t1.st_banc_empr = 'S'                                            
  And T2.CO_EMPR = T4.CO_EMPR                                      
  And T2.CO_BANC = T4.CO_BANC                                      
  And T2.NU_CNTA_BANC = T4.NU_CNTA_BANC                            
 ORDER BY T2.CO_EMPR, T2.CO_BANC, T2.NU_CNTA_BANC                                                
                                           
                                 
                                
DELETE FROM #TWSABA_REPO_AUXI                                
DELETE FROM #TWSABA_REPO                                              
                                            
 --SELECT *FROM  TCFACT_PRME                                            
                                                
 --SELECT * FROM #TWFLUJ_CAJA_SEMA_Q03_2                                                
 --WHERE CO_SUBR = '119'                                                
                                               
  ----- INSERTO EN OTRA TABLA TEMPORAL EL IMPORTE CONVERTIDO EN EL PERIODO CORRESPONDIENTE ----------------                                                
  EXECUTE('                                                
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q15_EJ_1                                        
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_ARUB, CO_RUBR, CO_SUBR, CO_SUBR_CALC, ' + @VSDE_CAMP + ', NU_MESE)                                                
  SELECT CO_EMPR, "1", "2", CO_ARUB, CO_RUBR, CO_SUBR, CO_SUBR_CALC, IM_MOVI, CONVERT(CHAR(2), "' + @VNNU_CONT_SEMA  + '")                                            
  FROM #TWFLUJ_CAJA_SEMA_Q03_2                                     
  WHERE (ISNULL(ST_CALC_IMPO, "N") = "N"                                            
   OR (ISNULL(ST_CALC_IMPO, "N") = "S" AND ISNULL(TI_CALC_IMPO, "N") = "2"))                                            
  ')                                        
                                            
 EXECUTE('                                                
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_DUA                                                
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_ARUB, CO_RUBR, CO_SUBR, TI_CALC_IMPO,  ' + @VSDE_CAMP + ', NU_MESE)                                                
  SELECT CO_EMPR, "1", "2", CO_ARUB, CO_RUBR, CO_SUBR, MAX(TI_CALC_IMPO), SUM(IM_MOVI), CONVERT(CHAR(2), "' + @VNNU_CONT_SEMA  + '")                                                   
  FROM #TWFLUJ_CAJA_SEMA_Q03_2                                            
  WHERE ISNULL(ST_CALC_IMPO, "N") = "S"                                             
  AND ISNULL(TI_CALC_IMPO, "0") = "2"                                            
  GROUP BY CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR')                                                
                                            
                                            
  EXECUTE('                                                
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_DUA2                                    
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_ARUB, CO_RUBR, CO_SUBR,CO_SUBR_CALC, TI_CALC_IMPO,  ' + @VSDE_CAMP + ', NU_MESE)                                                
  SELECT CO_EMPR, "1", "2", CO_ARUB, CO_RUBR, CO_SUBR, MAX(CO_SUBR_CALC), MAX(TI_CALC_IMPO), SUM(IM_MOVI), CONVERT(CHAR(2), "' + @VNNU_CONT_SEMA  + '")                                                   
  FROM #TWFLUJ_CAJA_SEMA_Q03_2                                            
  WHERE ISNULL(ST_CALC_IMPO, "N") = "S"                                             
  AND ISNULL(TI_CALC_IMPO, "0") = "1"            
GROUP BY CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR')                                               
                                              
  EXECUTE('                          
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q15_EJ_1                                                
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, ' + @VSDE_CAMP + ', NU_MESE)                                                
  SELECT CO_EMPR, "1", "1", CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, IM_SALD_INIC, CONVERT(CHAR(2), "' + @VNNU_CONT_SEMA  + '")                                                     
  FROM #TWFLUJ_CAJA_SEMA_Q03_3')                                               
                                            
                                            
--SELECT *FROM #TWFLUJ_CAJA_SEMA_Q03_2                                            
                                               
  ----- BORRA LA TABLA TEMPORAL ORIGEN PARA LLENARLA CON LA DATA DEL SUGUIENTE PERIODO -----------------                                                
  DELETE #TWFLUJ_CAJA_SEMA_Q03_2                                               
  --DELETE #TWFLUJ_CAJA_SEMA_Q03_DUA                                            
  DELETE #TWFLUJ_CAJA_SEMA_Q03_3                                             
                                                 
  SELECT @VNNU_CONT_SEMA = @VNNU_CONT_SEMA + 1, @VNNU_SEMA_ACTU = @VNNU_SEMA_ACTU + 1                                                
 /* IF @VNNU_MESE = 13     
  BEGIN                                                
   SELECT @VNNU_MESE = 1                                                
   SELECT @VNNU_ANIO = @VNNU_ANIO + 1                                                
  END*/                                                
  SELECT @VSDE_CAMP = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_SEMA))))) + RTRIM(LTRIM(STR(@VNNU_CONT_SEMA)))                                                
                                                 
END                                                
                                            
                                            
                                            
                                               
INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, CO_SUBR, DE_SUBR,                                              
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                                               
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                                              
IM_SE19, IM_SE20, IM_SE21, IM_SE22, IM_SE23, IM_SE24, IM_SE25, IM_SE26, IM_SE27, IM_SE28,                                               
IM_SE29, IM_SE30, IM_SE31, IM_SE32, IM_SE33, IM_SE34, IM_SE35, IM_SE36, IM_SE37, IM_SE38,                                              IM_SE39, IM_SE40, IM_SE41, IM_SE42, IM_SE43, IM_SE44, IM_SE45, IM_SE46, IM_SE47, IM_SE48,                                               
IM_SE49, IM_SE50, IM_SE51, IM_SE52,CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC,NU_ORDE_ARUB, NU_ORDE_RUBR, NU_ORDE_SUBR)                                              
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), T4.CO_ARUB, MAX(T4.DE_ARUB), T3.CO_RUBR, MAX(T3.DE_RUBR), T2.CO_SUBR, MAX(T2.DE_SUBR),                                                
 SUM(T1.IM_SE01), SUM(T1.IM_SE02), SUM(T1.IM_SE03), SUM(T1.IM_SE04), SUM(T1.IM_SE05),                                                 
 SUM(T1.IM_SE06), SUM(T1.IM_SE07), SUM(T1.IM_SE08), SUM(T1.IM_SE09), SUM(T1.IM_SE10),                                                 
 SUM(T1.IM_SE11), SUM(T1.IM_SE12) , SUM(T1.IM_SE13), SUM(T1.IM_SE14), SUM(T1.IM_SE15),                   
 SUM(T1.IM_SE16), SUM(T1.IM_SE17), SUM(T1.IM_SE18), SUM(T1.IM_SE19), SUM(T1.IM_SE20),                             
 SUM(T1.IM_SE21), SUM(T1.IM_SE22), SUM(T1.IM_SE23), SUM(T1.IM_SE24), SUM(T1.IM_SE25),                                                 
 SUM(T1.IM_SE26), SUM(T1.IM_SE27), SUM(T1.IM_SE28), SUM(T1.IM_SE29), SUM(T1.IM_SE30),                                                 
 SUM(T1.IM_SE31), SUM(T1.IM_SE32) , SUM(T1.IM_SE33), SUM(T1.IM_SE34), SUM(T1.IM_SE35),                                                 
 SUM(T1.IM_SE36), SUM(T1.IM_SE37), SUM(T1.IM_SE38), SUM(T1.IM_SE39), SUM(T1.IM_SE40),                             
 SUM(T1.IM_SE41), SUM(T1.IM_SE42), SUM(T1.IM_SE43), SUM(T1.IM_SE44), SUM(T1.IM_SE45),                                                 
 SUM(T1.IM_SE46), SUM(T1.IM_SE47), SUM(T1.IM_SE48), SUM(T1.IM_SE49), SUM(T1.IM_SE50),                                                 
 SUM(T1.IM_SE51), SUM(T1.IM_SE52),                            
 NULL,NULL, NULL, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC),                                          
 MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)                                               
FROM #TWFLUJ_CAJA_SEMA_Q15_EJ_1 T1, TTSUBR_FINA T2, TTRUBR_FINA T3, TTARUB_FINA T4, TMEMPR T5                                                
WHERE T1.CO_EMPR = T2.CO_EMPR                                                
AND  T2.ST_REPO = 'S'                                                
AND T1.CO_SUBR = T2.CO_SUBR                                                
AND T2.CO_EMPR = T3.CO_EMPR                                                
AND  T2.CO_RUBR = T3.CO_RUBR                                                
AND T3.CO_EMPR = T4.CO_EMPR                                                
AND T3.CO_ARUB = T4.CO_ARUB            
AND T1.CO_EMPR = T5.CO_EMPR                                            
AND (ISNULL(T2.ST_CALC_IMPO, 'N') != 'S'   OR (ISNULL(T2.ST_CALC_IMPO, 'N') = 'S' AND ISNULL(T2.TI_CALC_IMPO, '0') = '2' ))                                            
AND  EXISTS ( SELECT T6.CO_RUBR                                     
   FROM  TTRUBR_FINA T6                                                
   WHERE  T6.CO_EMPR = T2.CO_EMPR                                                
   AND  T6.CO_RUBR = T2.CO_RUBR                                                
   AND  T6.ST_REPO = 'S'                                                
   AND EXISTS ( SELECT T7.CO_ARUB                                                
      FROM  TTARUB_FINA T7                                                
WHERE  T7.CO_EMPR = T6.CO_EMPR                                                
          AND  T7.CO_ARUB = T6.CO_ARUB                                                
          AND  T7.ST_REPO = 'S'))                                                
GROUP BY T1.CO_EMPR, T4.CO_ARUB, T3.CO_RUBR, T2.CO_SUBR                                                
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)                                              
                                            
INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, CO_SUBR, DE_SUBR,                                            
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                                               
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                                              
IM_SE19, IM_SE20, IM_SE21, IM_SE22, IM_SE23, IM_SE24, IM_SE25, IM_SE26, IM_SE27, IM_SE28,                                               
IM_SE29, IM_SE30, IM_SE31, IM_SE32, IM_SE33, IM_SE34, IM_SE35, IM_SE36, IM_SE37, IM_SE38,                                              
IM_SE39, IM_SE40, IM_SE41, IM_SE42, IM_SE43, IM_SE44, IM_SE45, IM_SE46, IM_SE47, IM_SE48,                                               
IM_SE49, IM_SE50, IM_SE51, IM_SE52, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC,                                          
NU_ORDE_ARUB, NU_ORDE_RUBR, NU_ORDE_SUBR)                                              
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), T4.CO_ARUB, MAX(T4.DE_ARUB), T3.CO_RUBR, MAX(T3.DE_RUBR), T2.CO_SUBR, MAX(T2.DE_SUBR),                                                
 SUM(T1.IM_SE01)- SUM(T6.IM_SE01), SUM(T1.IM_SE02)- SUM(T6.IM_SE02), SUM(T1.IM_SE03) - SUM(T6.IM_SE03),                                             
 SUM(T1.IM_SE04)- SUM(T6.IM_SE04), SUM(T1.IM_SE05)- SUM(T6.IM_SE05), SUM(T1.IM_SE06)- SUM(T6.IM_SE06),                             
 SUM(T1.IM_SE07)- SUM(T6.IM_SE07), SUM(T1.IM_SE08)- SUM(T6.IM_SE08), SUM(T1.IM_SE09)- SUM(T6.IM_SE09),                             
 SUM(T1.IM_SE10)- SUM(T6.IM_SE10), SUM(T1.IM_SE11) - SUM(T6.IM_SE11),SUM(T1.IM_SE12)- SUM(T6.IM_SE12),                             
 SUM(T1.IM_SE13) - SUM(T6.IM_SE13),SUM(T1.IM_SE14)- SUM(T6.IM_SE14), SUM(T1.IM_SE15)- SUM(T6.IM_SE15),                             
 SUM(T1.IM_SE16)- SUM(T6.IM_SE16), SUM(T1.IM_SE17)- SUM(T6.IM_SE17), SUM(T1.IM_SE18)- SUM(T6.IM_SE18),                             
 SUM(T1.IM_SE19)- SUM(T6.IM_SE19), SUM(T1.IM_SE20)- SUM(T6.IM_SE20), SUM(T1.IM_SE21)- SUM(T6.IM_SE21),                             
 SUM(T1.IM_SE22)- SUM(T6.IM_SE22), SUM(T1.IM_SE23) - SUM(T6.IM_SE23),SUM(T1.IM_SE24)- SUM(T6.IM_SE24),                             
 SUM(T1.IM_SE25)- SUM(T6.IM_SE25), SUM(T1.IM_SE26)- SUM(T6.IM_SE26), SUM(T1.IM_SE27)- SUM(T6.IM_SE27),                             
 SUM(T1.IM_SE28)- SUM(T6.IM_SE28), SUM(T1.IM_SE29)- SUM(T6.IM_SE29),           
 SUM(T1.IM_SE30)- SUM(T6.IM_SE30), SUM(T1.IM_SE31) - SUM(T6.IM_SE31),SUM(T1.IM_SE32)- SUM(T6.IM_SE32),                             
 SUM(T1.IM_SE33) - SUM(T6.IM_SE33),SUM(T1.IM_SE34)- SUM(T6.IM_SE34), SUM(T1.IM_SE35)- SUM(T6.IM_SE35),                            SUM(T1.IM_SE36)- SUM(T6.IM_SE36), SUM(T1.IM_SE37)- SUM(T6.IM_SE37), SUM(T1.IM_SE38)- SUM(T6.IM_SE38),                       
  
      
 SUM(T1.IM_SE39)- SUM(T6.IM_SE39), SUM(T1.IM_SE40)- SUM(T6.IM_SE40), SUM(T1.IM_SE41)- SUM(T6.IM_SE41),                             
 SUM(T1.IM_SE42)- SUM(T6.IM_SE42), SUM(T1.IM_SE43) - SUM(T6.IM_SE43),SUM(T1.IM_SE44)- SUM(T6.IM_SE44),                             
 SUM(T1.IM_SE45)- SUM(T6.IM_SE45), SUM(T1.IM_SE46)- SUM(T6.IM_SE46),                             
 SUM(T1.IM_SE47)- SUM(T6.IM_SE47), SUM(T1.IM_SE48)- SUM(T6.IM_SE48), SUM(T1.IM_SE49)- SUM(T6.IM_SE49),                             
 SUM(T1.IM_SE50)- SUM(T6.IM_SE50), SUM(T1.IM_SE51) - SUM(T6.IM_SE51),SUM(T1.IM_SE52)- SUM(T6.IM_SE52), NULL,NULL, NULL, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC) ,                                          
  MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)                                              
FROM #TWFLUJ_CAJA_SEMA_Q02_DUA2 T1, TTSUBR_FINA T2, TTRUBR_FINA T3, TTARUB_FINA T4, TMEMPR T5 , #TWFLUJ_CAJA_SEMA_Q02_DUA  T6                                               
WHERE T1.CO_EMPR = T2.CO_EMPR                                               
AND T1.CO_EMPR = T2.CO_EMPR                                            
AND T1.CO_ARUB = T2.CO_ARUB                                            
AND T1.CO_RUBR = T2.CO_RUBR                                            
AND T1.CO_SUBR_CALC = T6.CO_SUBR 
AND T1.CO_EMPR = T6.CO_EMPR                            
AND T1.CO_ARUB = T6.CO_ARUB                            
AND T1.CO_RUBR = T6.CO_RUBR                            
AND T1.NU_MESE = T6.NU_MESE                                            
AND  T2.ST_REPO = 'S'                                               
AND T1.CO_SUBR = T2.CO_SUBR                                                
AND T2.CO_EMPR = T3.CO_EMPR                                                
AND  T2.CO_RUBR = T3.CO_RUBR                                                
AND T3.CO_EMPR = T4.CO_EMPR                                                
AND T3.CO_ARUB = T4.CO_ARUB                  
AND T1.CO_EMPR = T5.CO_EMPR                                            
--AND ISNULL(T1.TI_CALC_IMPO, '0') = '1'                                            
AND ISNULL(T2.ST_CALC_IMPO, 'N') = 'S'                                            
AND ISNULL(T2.TI_CALC_IMPO, '0') = '1'                                            
AND ISNULL(T6.TI_CALC_IMPO, '0') = '2'                                            
                               
AND  EXISTS ( SELECT T6.CO_RUBR                                                
   FROM  TTRUBR_FINA T6                                                
   WHERE  T6.CO_EMPR = T2.CO_EMPR                                                
   AND  T6.CO_RUBR = T2.CO_RUBR                                                
   AND  T6.ST_REPO = 'S'                                                
   AND EXISTS ( SELECT T7.CO_ARUB                                                
          FROM  TTARUB_FINA T7                                                
WHERE  T7.CO_EMPR = T6.CO_EMPR                                                
          AND  T7.CO_ARUB = T6.CO_ARUB                                                
          AND  T7.ST_REPO = 'S'))                                                
GROUP BY T1.CO_EMPR, T4.CO_ARUB, T3.CO_RUBR, T2.CO_SUBR                                                
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)                                              
                                            
                                            
                                              
INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR,  CO_SUBR, DE_SUBR,                                               
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                                              
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                                              
IM_SE19, IM_SE20, IM_SE21, IM_SE22, IM_SE23, IM_SE24, IM_SE25, IM_SE26, IM_SE27, IM_SE28,                                
IM_SE29, IM_SE30, IM_SE31, IM_SE32, IM_SE33, IM_SE34, IM_SE35, IM_SE36, IM_SE37, IM_SE38,                                              
IM_SE39, IM_SE40, IM_SE41, IM_SE42, IM_SE43, IM_SE44, IM_SE45, IM_SE46, IM_SE47, IM_SE48,                                               
IM_SE49, IM_SE50, IM_SE51, IM_SE52, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC)                                              
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), NULL, NULL, NULL, NULL, NULL, NULL,                                                
 SUM(T1.IM_SE01), SUM(T1.IM_SE02), SUM(T1.IM_SE03), SUM(T1.IM_SE04), SUM(T1.IM_SE05),                                         
 SUM(T1.IM_SE06), SUM(T1.IM_SE07), SUM(T1.IM_SE08), SUM(T1.IM_SE09), SUM(T1.IM_SE10),                                                 
 SUM(T1.IM_SE11), SUM(T1.IM_SE12) , SUM(T1.IM_SE13), SUM(T1.IM_SE14), SUM(T1.IM_SE15),                                                 
 SUM(T1.IM_SE16), SUM(T1.IM_SE17), SUM(T1.IM_SE18), SUM(T1.IM_SE19), SUM(T1.IM_SE20),                             
 SUM(T1.IM_SE21), SUM(T1.IM_SE22), SUM(T1.IM_SE23), SUM(T1.IM_SE24), SUM(T1.IM_SE25),                                                 
 SUM(T1.IM_SE26), SUM(T1.IM_SE27), SUM(T1.IM_SE28), SUM(T1.IM_SE29), SUM(T1.IM_SE30),                                                 
 SUM(T1.IM_SE31), SUM(T1.IM_SE32) , SUM(T1.IM_SE33), SUM(T1.IM_SE34), SUM(T1.IM_SE35),                                                 
 SUM(T1.IM_SE36), SUM(T1.IM_SE37), SUM(T1.IM_SE38), SUM(T1.IM_SE39), SUM(T1.IM_SE40),                             
 SUM(T1.IM_SE41), SUM(T1.IM_SE42), SUM(T1.IM_SE43), SUM(T1.IM_SE44), SUM(T1.IM_SE45),                                   
 SUM(T1.IM_SE46), SUM(T1.IM_SE47), SUM(T1.IM_SE48), SUM(T1.IM_SE49), SUM(T1.IM_SE50),                                                 
 SUM(T1.IM_SE51), SUM(T1.IM_SE52),                                                
 MAX(T1.CO_BANC),MAX(T1.NU_CNTA_BANC), MAX(T1.DE_CNTA_BANC), MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC)                                              
FROM #TWFLUJ_CAJA_SEMA_Q15_EJ_1 T1,  TMEMPR T5                                                
WHERE T1.CO_EMPR = T5.CO_EMPR                                              
AND ISNULL(T1.CO_BANC,'') != ''                                            
AND ISNULL(T1.NU_CNTA_BANC,'') != ''                                               
GROUP BY T1.CO_EMPR, T1.CO_BANC, T1.NU_CNTA_BANC                                              
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T1.CO_BANC), MAX(T1.NU_CNTA_BANC)                                              
                
-- HALLAMOS EL NUMERO DE COLUMNAS QUE OCUPARA PARA EL PROYECTADO, SI FUERA MENOS ABARCARA MAS EL EJECUTADO                
            
IF 10 - (52- @VNNU_SEMA_FINA) > 0                
    SELECT @VNNU_COLU_VARI = 10 - (52- @VNNU_SEMA_FINA)                
ELSE                 
    SELECT @VNNU_COLU_VARI = 0                
                
            
            
                                            
IF @VNNU_CONT_SEMA >= (10 + @VNNU_COLU_VARI)                            
BEGIN                                             
    -- SELECT @VNNU_PARC_SEMA = @VNNU_CONT_SEMA - 19                            
     SELECT @VNNU_SEMA_NUEV = @VNNU_CONT_SEMA - (10 +  @VNNU_COLU_VARI)                           
 SELECT @VDFE_INIC_NUEV = FE_INIC_SEMA                                    
 FROM TTSEMA_FLUJ                                    
 WHERE CO_EMPR = @ISCO_EMPR                                    
 AND NU_ANIO = YEAR(@IDFE_OPER_FINA)                                    
 AND NU_SEMA = @VNNU_SEMA_NUEV                            
                            
END                            
ELSE                            
 BEGIN                            
 SELECT @VNNU_SEMA_NUEV = 1                         
                      
 SELECT @VDFE_INIC_NUEV = FE_INIC_SEMA                                    
 FROM TTSEMA_FLUJ                                    
 WHERE CO_EMPR = @ISCO_EMPR                                    
 AND NU_ANIO = YEAR(@IDFE_OPER_INIC)                                    
 AND NU_SEMA = @VNNU_SEMA_INIC                       
                    
                      
END                            
                            
                               
                      
                         
 SELECT @VNIM_SALD_FLUJ = (Select Isnull(Sum( Isnull(T1.IM_MOVI, 0)), 0)                            
   From (Select Round(Dbo.FN_TCFACT_CAMB_Q02(TMCNTA_BANC.CO_MONE, @ISCO_MONE, TCMOVI_BANC.FE_OPER,                            
    TCMOVI_BANC.IM_MOVI * ( PATINDEX(TCMOVI_BANC.TI_MOVI_BANC, 'I') - PATINDEX(TCMOVI_BANC.TI_MOVI_BANC, 'E')),                             
   TMPARA_TESO.TI_CAMB, TMPARA_TESO.TI_ORIG, 'S', TMPARA_TESO.CO_MONE_DEFA, TMPARA_TESO.CO_MONE_EXTR, ISNULL(          
(Dbo.FN_TCFACT_CAMB_MENS_Q01 (@ISCO_EMPR, TMCNTA_BANC.CO_MONE, @ISCO_MONE, YEAR(TCMOVI_BANC.FE_OPER), MONTH(TCMOVI_BANC.FE_OPER))),TCMOVI_BANC.FA_TIPO_CAMB)), 2) IM_MOVI                            
    From  TCMOVI_BANC , TMCNTA_BANC, TMPARA_TESO, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA                            
    Where  TCMOVI_BANC.CO_EMPR = @ISCO_EMPR                
    And  TCMOVI_BANC.FE_OPER < @VDFE_INIC_NUEV                            
    And  TCMOVI_BANC.TI_SITU IN ('ACT', 'EXT')                            
    And  Rtrim(Isnull(TCMOVI_BANC.CO_SUBR, '')) != ''                            
    And  TCMOVI_BANC.CO_EMPR = TMCNTA_BANC.CO_EMPR                            
    And  TCMOVI_BANC.CO_BANC = TMCNTA_BANC.CO_BANC                            
    And  TCMOVI_BANC.NU_CNTA_BANC = TMCNTA_BANC.NU_CNTA_BANC                            
    And  TCMOVI_BANC.CO_EMPR = TMPARA_TESO.CO_EMPR                      
    AND TTSUBR_FINA.ST_REPO = 'S'                                                      
  AND TCMOVI_BANC.CO_EMPR = TTSUBR_FINA.CO_EMPR                                                
  AND TCMOVI_BANC.CO_SUBR = TTSUBR_FINA.CO_SUBR                                                
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                                
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                            
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                                
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                                
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB) T1)                            
 +                            
   (Select Isnull(Sum( Isnull(T1.IM_MOVI, 0)), 0)                            
   From (Select Round( Dbo.FN_TCFACT_CAMB_Q02(TMCAJA.CO_MONE, @ISCO_MONE, TCMOVI_CAJA.FE_OPER,                             
   TCMOVI_CAJA.IM_MOVI * ( PATINDEX(TCMOVI_CAJA.TI_MOVI, 'I') - PATINDEX(TCMOVI_CAJA.TI_MOVI, 'E')),                             
   TMPARA_TESO.TI_CAMB, TMPARA_TESO.TI_ORIG, 'S', TMPARA_TESO.CO_MONE_DEFA, TMPARA_TESO.CO_MONE_EXTR, ISNULL(          
(Dbo.FN_TCFACT_CAMB_MENS_Q01 (@ISCO_EMPR, TMCAJA.CO_MONE, @ISCO_MONE, YEAR(TCMOVI_CAJA.FE_OPER), MONTH(TCMOVI_CAJA.FE_OPER))),TCMOVI_CAJA.FA_TIPO_CAMB)), 2) IM_MOVI                            
    From  TCMOVI_CAJA , TMCAJA, TMPARA_TESO, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA                             
    Where  TCMOVI_CAJA.CO_EMPR = @ISCO_EMPR                            
    And  TCMOVI_CAJA.FE_OPER < @VDFE_INIC_NUEV                            
    And TCMOVI_CAJA.TI_SITU IN ('ACT', 'EXT')                            
    And  Rtrim(Isnull(TCMOVI_CAJA.CO_SUBR, '')) != ''                            
    And  TCMOVI_CAJA.CO_EMPR = TMCAJA.CO_EMPR                            
    And  TCMOVI_CAJA.CO_CAJA = TMCAJA.CO_CAJA                            
    And  TCMOVI_CAJA.CO_EMPR = TMPARA_TESO.CO_EMPR                      
 AND TTSUBR_FINA.ST_REPO = 'S'                                                      
  AND TCMOVI_CAJA.CO_EMPR = TTSUBR_FINA.CO_EMPR                                                
  AND TCMOVI_CAJA.CO_SUBR = TTSUBR_FINA.CO_SUBR                                                
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                                
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                                
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                                
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                                
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB) T1)                         
                      
                      
--SELECT @VNIM_SALD_FLUJ, @VDFE_INIC_NUEV, @VNNU_SEMA_NUEV, @VNNU_CONT_SEMA 'PRUEBA1'                         
                            
--SELECT @VNNU_SEMA_NUEV, @VDFE_INIC_NUEV, @VNIM_SALD_FLUJ                      
                            
                            
--SELECT 'PRUEBA FINAL', @VNNU_SEMA_NUEV                            
                            
SELECT @VSDE_CAMP_0001 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV)))                           
SELECT @VSDE_CAMP_0002 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+1))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+1)))                        
SELECT @VSDE_CAMP_0003 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+2))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+2)))                        
SELECT @VSDE_CAMP_0004 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+3))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+3)))                        
SELECT @VSDE_CAMP_0005 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+4))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+4)))                        
SELECT @VSDE_CAMP_0006 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+5))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+5)))                        
SELECT @VSDE_CAMP_0007 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+6))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+6)))                        
SELECT @VSDE_CAMP_0008 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+7))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+7)))                        
SELECT @VSDE_CAMP_0009 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+8))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+8)))                        
SELECT @VSDE_CAMP_0010 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+9))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+9)))                        
SELECT @VSDE_CAMP_0011 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+10))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+10)))                        
SELECT @VSDE_CAMP_0012 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+11))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+11)))                        
SELECT @VSDE_CAMP_0013 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+12))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+12)))                        
SELECT @VSDE_CAMP_0014 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+13))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+13)))                        
SELECT @VSDE_CAMP_0015 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+14))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+14)))                        
SELECT @VSDE_CAMP_0016 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+15))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+15)))                        
SELECT @VSDE_CAMP_0017 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+16))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+16)))                        
SELECT @VSDE_CAMP_0018 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+17))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+17)))                        
SELECT @VSDE_CAMP_0019 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+18))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+18)))                        
SELECT @VSDE_CAMP_0020 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+19))))) + RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+19)))                        
            
                   
SELECT @VNNU_CONT_REPO = @VNNU_SEMA_NUEV + (10 +  @VNNU_COLU_VARI)                
                       
While  @VNNU_CONT_REPO <= 20                                
    Begin                                
                
  Select @VSDE_CAMP = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_REPO))))) +RTRIM(LTRIM(STR(@VNNU_CONT_REPO)))                                
                             
                                
  ----- SE HACE EL UPDATE EN LA TABLA CORRESPONDIENTE -------                                
                                
   EXECUTE('                                
UPDATE #TWFLUJ_CAJA_SEMA_Q02_4                                   
SET  ' + @VSDE_CAMP + ' = 0         
' )                                
                                                
  Select @VNNU_CONT_REPO = @VNNU_CONT_REPO + 1                                 
End                              
    
    
    
    
INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_4  (CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR, IM_ACUM, TI_DETA_EMPR, TI_DETA_BANC)      
SELECT CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR ,   SUM((ISNULL(IM_SE01,0) + ISNULL(IM_SE02,0) + ISNULL(IM_SE03,0)+ ISNULL(IM_SE04,0)+ ISNULL(IM_SE05,0) +      
ISNULL(IM_SE06,0) + ISNULL(IM_SE07,0) + ISNULL(IM_SE08,0)+ ISNULL(IM_SE09,0)+ ISNULL(IM_SE10,0) +      
ISNULL(IM_SE11,0) + ISNULL(IM_SE12,0) + ISNULL(IM_SE13,0)+ ISNULL(IM_SE14,0)+ ISNULL(IM_SE15,0) +      
ISNULL(IM_SE16,0) + ISNULL(IM_SE17,0) + ISNULL(IM_SE18,0)+ ISNULL(IM_SE19,0)+ ISNULL(IM_SE20,0) +      
ISNULL(IM_SE21,0) + ISNULL(IM_SE22,0) + ISNULL(IM_SE23,0)+ ISNULL(IM_SE24,0)+ ISNULL(IM_SE25,0) +      
ISNULL(IM_SE26,0) + ISNULL(IM_SE27,0) + ISNULL(IM_SE28,0)+ ISNULL(IM_SE29,0)+ ISNULL(IM_SE30,0) +      
ISNULL(IM_SE31,0) + ISNULL(IM_SE32,0) + ISNULL(IM_SE33,0)+ ISNULL(IM_SE34,0)+ ISNULL(IM_SE35,0) +      
ISNULL(IM_SE36,0) + ISNULL(IM_SE37,0) + ISNULL(IM_SE38,0)+ ISNULL(IM_SE39,0)+ ISNULL(IM_SE40,0) +      
ISNULL(IM_SE41,0) + ISNULL(IM_SE42,0) + ISNULL(IM_SE43,0)+ ISNULL(IM_SE44,0)+ ISNULL(IM_SE45,0) +      
ISNULL(IM_SE46,0) + ISNULL(IM_SE47,0) + ISNULL(IM_SE48,0)+ ISNULL(IM_SE49,0)+ ISNULL(IM_SE50,0) +      
ISNULL(IM_SE51,0) + ISNULL(IM_SE52,0))), '1', '2' FROM #TWFLUJ_CAJA_SEMA_Q02_4      
WHERE CO_EMPR = @ISCO_EMPR      
AND ISNULL(CO_BANC, '') = ''      
AND ISNULL(NU_CNTA_BANC, '') = ''                                               
GROUP BY CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR, CO_BANC, NU_CNTA_BANC                                 
ORDER By CO_EMPR, MAX(TI_DETA_EMPR), MAX(TI_DETA_BANC), CO_ARUB, CO_RUBR, CO_SUBR        
    

                                    
 EXECUTE ('                   
INSERT INTO #TWFLUJ_CAJA_Q15_1 (CO_EMPR, DE_EMPR, IM_SALD_FLUJ, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR,  CO_SUBR, DE_SUBR,                                               
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                                              
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                                              
IM_SE19, IM_SE20, IM_ACUM_EJEC, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC)                                           
SELECT CO_EMPR, DE_EMPR,  ISNULL(' + @VNIM_SALD_FLUJ + ',0)* ' + @VNNU_FACT + ', CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, CO_SUBR, DE_SUBR,                                           
ISNULL(' + @VSDE_CAMP_0001 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0002 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0003 + ',0)* ' + @VNNU_FACT + ',                 
ISNULL(' + @VSDE_CAMP_0004 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0005 + ',0)*' + @VNNU_FACT + ',  ISNULL(' + @VSDE_CAMP_0006 + ',0)* ' + @VNNU_FACT + ',                 
ISNULL(' + @VSDE_CAMP_0007 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0008 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0009 + ',0)* ' + @VNNU_FACT + ',                 
ISNULL(' + @VSDE_CAMP_0010 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0011 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0012 + ',0)* ' + @VNNU_FACT + ',                 
ISNULL(' + @VSDE_CAMP_0013 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0014 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0015 + ',0)* ' + @VNNU_FACT + ',                                       
ISNULL(' + @VSDE_CAMP_0016 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0017 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0018 + ',0)* ' + @VNNU_FACT + ',                 
ISNULL(' + @VSDE_CAMP_0019 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0020 + ',0)* ' + @VNNU_FACT + ',                             
ISNULL(IM_ACUM,0) * ' + @VNNU_FACT + ', CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC                                          
FROM #TWFLUJ_CAJA_SEMA_Q02_4                                          
ORDER BY CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, NU_ORDE_ARUB, NU_ORDE_RUBR, NU_ORDE_SUBR                                          
')                           
                      
                              
                            
                          
RETURN                                          
                                                
/********************************* FIN ***********************************/


GO
